package com.ruoyi.common.payment;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MakeTDJsonOrderReq {
    @ApiModelProperty(value = "用户标识，平台分配商户唯一标识")
    private String openid;

    @ApiModelProperty(value = "平台分配商户公钥")
    @JsonProperty("mch_secret")
    private String mchSecret;

    @ApiModelProperty(value = "随机字符串，长度要求在32位以内")
    @JsonProperty("nonce_str")
    private String nonceStr;

    @ApiModelProperty(value = "商品描述，商户自己持有，回调会原值返回")
    private String body;

    @ApiModelProperty(value = "商户商品订单号，商户自己持有，回调会原值返回")
    @JsonProperty("out_trade_no")
    private String outTradeNo;

    @ApiModelProperty(value = "价格(元)，随机字符串，长度要求在32位以内")
    @JsonProperty("total_fee")
    private String totalFee;

    @ApiModelProperty(value = "回调地址，商户自己持有，回调请求的URL")
    @JsonProperty("notify_url")
    private String notifyUrl;

    @ApiModelProperty(value = "交易类型，601 602 等，具体联系客服人员")
    @JsonProperty("trade_type")
    private String tradeType;

    @ApiModelProperty(value = "设备信息，统一用: app")
    @JsonProperty("device_info")
    private String deviceInfo;

    @ApiModelProperty(value = "交易时间戳，当时秒数")
    @JsonProperty("time_Stamp")
    private String timeStamp;

//    @ApiModelProperty(value = "支付额外参数 {“name”: “小明”, “cert_no”: “441900195012233325**”}")
//    @JsonProperty("ext_user_info")
//    private String extUserInfo;
//
//    @ApiModelProperty(value = "支付成功后的跳转网址，必须以http://或https://开头")
//    @JsonProperty("return_url")
//    private String returnUrl;

    @ApiModelProperty(value = "签名，签名算法上面可见")
    private String sign;

    @ApiModelProperty(value = "IP地址")
    private String ip;
}
